The following U.S. patents are believed to represent the current state of the art: U.S. Pat. Nos. 6,331,733, 6,245,634, 6,236,229, and 6,194,912. These patents all relate to prior art with respect to the current patent.
The above patents describe semiconductor devices, which contain logic cells that further contain look up tables and interconnects, which may be patterned by a single via mask. The advantages of such application-specific integrated circuits (ASICs) have been clearly defined in the prior art, but are limited to logical functions. Today, most semiconductor devices are comprised of random access memory, read only memory and processors, in addition to general combinatorial logic.
It is common to provide such components in a user configurable form within libraries, from which the designer must select and define their specific configuration, prior to instantiating the structure in their design. Typically these structures are implemented out of custom designed transistors and metal interconnects that require a full set of masks to fabricate. This is acceptable for Standard Cell technology, which also requires a full set of masks for the rest of the design, but can pose a problem for Structured ASIC parts, which do not.
On the other hand, field-programmable gate arrays (FPGAs) are devices that are completely programmable at the customer's site. In general RAMs, ROMs and processors, if available on FPGAs, have limited configuration options, which consist of reprogramming the interconnects between appropriate subfunctions. This is costly in both space and performance of the components.
The current invention provides a set of configurable components, many of which may reside together on one semiconductor device, and are configurable by a single via change, the same customization as is done for the rest of the design, resulting in either considerable performance and space advantages over FPGAs or significant reduction in the number of required masks compared with Standard Cell solutions.
It combines the advantages of FPGA technology with those of Standard Cell ASICs by adopting the best features of each approach and avoiding their drawbacks. Thus, on one end, it utilizes the way FPGAs program logic while avoiding their inefficient approach to interconnect routing. On the other end, it utilizes the Standard Cell approach toward interconnect routing while avoiding the expense of its rigid approach to logic definition.